关键字static和final |
您所在的位置:网站首页 › static 和final › 关键字static和final |
static 与final 1.变量的声明和内存地址的开劈 class A{ } A a;(这样没有开辟内存空间,只有new对象时才有) static关键字 静态的 :可以用来修饰类,属性,方法,代码块 1.属性 如果用static来修饰,则变量的内存在静态区。(被共享); 当属性定义为static则该属性为该类所有的对象共享, 以最后一次改变为所有对象里的最终值; static属性,又叫类属性 调用方式:1.可以通过对象调用; 2.可以直接通过类名调用; 2.静态方法: static方法中不能调用非静态属性 (重写失去意义)方法如果定义为static ,对象在调用方法的时候只和对象定义的类型相关 static方法叫做类方法。这一类对象共享的方法; 调用方式:直接用类名调用; 可以通过对象调用 一般情况下。static属性和方法直接通过类名来调用; 3.代码块 public class A()[ public static void main(String[] args){ System.out.println("A"); } //代码块 { System.out.println("b"); } //静态代码块 { System.out.println("c"); } } 4.类前面。static修饰内部类; java程序的执行过程!!!! 编写:.java文件-->翻译成.class字节码文件-->执行.class文件 1首先 .class文件加载到内存中(加载类) 首先加载static属性,静态块,静态方法(不执行,只加载);加载到类的内存空间 2.执行主函数 在创建这个类的对象时,(再将非静态的方法,加载到对象的空间里面),,,,将非静态代码块,非静态属性执行 在加载的过程当中,属性和代码块会先执行,方法必先等到调用时在执行; ***************************************************************************** final关键字 final可以用来修饰类,属性,和方法 final,最终的,不可修改的 类似于C语言里的const 1.final修饰类的时候,表示该类不可以被继承 2.final修饰方法时,不可以被重写,可以重载; 3.final修饰属性时,必须初始化并且只能一次,不可以改变值; class Student { public final String n; public Student(){ n="S"; } } 这样定义也行,因为构造方法先实行(除了static修饰的方法和属性之外) 4.final修饰局部变量,定义时可以不赋值,但是只能赋值一次; 5.final 修饰参数,在参数前加final,,传入方法后只能用,不能改变。。(防止传入的值被修改;) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |